package com.zmn.plat.dubbo.interfaces.orderconfig.track.reason;

import java.util.List;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;

import com.zmn.common.dto2.ResponseDTO;
import com.zmn.plat.common.dto.orderconfig.track.OrderTrackReasonDRO;

import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

/**
 * @author tanbiao
 * @description
 * @modifier
 * @since 2020/12/3 14:09
 **/
public interface OrderTrackReasonListRemoteService {
    /**
     * 描述: 根据跟单内容id查询跟单缘由
     *
     * @param trackId
     *            不能为空
     * @return OrderTrackReasonDRO
     * @auther: tanbiao
     * @since: 2020/11/24 11:11
     */
    @ApiOperation(value = "根据主键查询订单跟单缘由", response = ResponseDTO.class, notes = "", tags = {"跟单缘由"})
    ResponseDTO<List<OrderTrackReasonDRO>> listByTrackId(@NotNull(message = "跟单内容id不能为空") @Positive(message = "跟单内容id必须为大于0的正整数") @ApiParam(value = "跟单内容id", required = true) Integer trackId);

    /**
     * 描述: 根据跟单内容id集合查询跟单缘由
     *
     * @param trackIds 不能为空
     * @return OrderTrackReasonDRO
     * @auther: tanbiao
     * @since: 2020/11/24 11:11
     */
    @ApiOperation(value = "根据主键集合查询订单跟单缘由", response = ResponseDTO.class, notes = "", tags = {"跟单缘由"})
    ResponseDTO<List<OrderTrackReasonDRO>> listByTrackIds(@NotNull(message = "跟单内容id集合不能为空") @ApiParam(value = "跟单内容id集合", required = true) List<Integer> trackIds);
}
